﻿using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Polaris.Domain.Model.DbEntity
{
    /// <summary>
    /// 系统字典项表
    /// </summary>
    public class Sys_Dictionary_Item
    {
        /// <summary>
        /// 主键
        /// </summary>
        [Key]
        [Comment("主键")]
        public Guid Id { get; set; }

        /// <summary>
        /// 字典id
        /// </summary>
        [Comment("字典id"), MaxLength(100)]
        public Guid DictionaryId { get; set; }

        /// <summary>
        /// 父级id，树形结构需要
        /// </summary>
        [Comment("父级id，树形结构需要")]
        public Guid? ParentId { get; set; }

        /// <summary>
        /// 名称
        /// </summary>
        [Comment("名称"), MaxLength(100)]
        public string? Name { get; set; }

        /// <summary>
        /// 属性值
        /// </summary>
        [Comment("属性值"), MaxLength(100)]
        public string? Value { get; set; }

        /// <summary>
        /// 描述
        /// </summary>
        [Comment("描述"), MaxLength(512)]
        public string? Description { get; set; }

        /// <summary>
        /// 排序，数字越大，排序越前
        /// </summary>
        [Comment("排序，数字越大，排序越前")]
        public int? Sort { get; set; }

        /// <summary>
        /// 是否可用
        /// </summary>
        [Comment("是否可用")]
        public bool Enable { get; set; }

        /// <summary>
        /// 是否删除
        /// </summary>
        [Comment("是否删除")]
        public bool IsDelete { get; set; }

        /// <summary>
        /// 创建人
        /// </summary>
        [Comment("创建人")]
        public Guid? CreateBy { get; set; }

        /// <summary>
        /// 创建时间
        /// </summary>
        [Comment("创建时间")]
        public DateTime? CreatedTime { get; set; }

        /// <summary>
        /// 修改人
        /// </summary>
        [Comment("修改人")]
        public Guid? UpdatedBy { get; set; }

        /// <summary>
        /// 修改时间
        /// </summary>
        [Comment("修改时间")]
        public DateTime? UpdatedTime { get; set; }
    }
}
